#ifndef DEVELOPERMODEDIALOG_H
#define DEVELOPERMODEDIALOG_H

#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QMouseEvent>
#include <QIcon>
#include <QStyle>

QT_BEGIN_NAMESPACE
namespace Ui { class DeveloperModeDialog; }
QT_END_NAMESPACE

class DeveloperModeDialog : public QDialog
{
    Q_OBJECT

public:

    DeveloperModeDialog(QWidget *parent = nullptr);
    ~DeveloperModeDialog();

protected:
    void mousePressEvent(QMouseEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;
    void mouseReleaseEvent(QMouseEvent *event) override;

private slots:
    void on_ColseButton_clicked();

    void on_OkpushButton_clicked();

    void on_closeButton_clicked();
signals:

    /**
     * @brief 日志写入信号
     * @param logInfo 日志信息
     * @param logLevel 日志级别（默认0）
     * @param isSave 是否保存到文件（默认false）
     */
    void writeLog(const QString& logInfo,int logLevel=0,bool isSave=false);
private:
    QWidget *titleBar;
    QLabel *titleLabel;
    QPushButton *closeButton;
    bool isDragging;
    QPoint dragPosition;
private:
    Ui::DeveloperModeDialog *ui;
};
#endif // DEVELOPERMODEPLUGIN_H
